package GUI.modelosTablas;

import base.Peticion;
import java.util.GregorianCalendar;
import javax.swing.table.DefaultTableModel;
import negocio.bd.BDTareas;
import utiles.ConversorFecha;

/**
 *
 * @author Efren
 */
public class PeticionesDefaultTableModel extends DefaultTableModel{
     private boolean editable;
    
    public PeticionesDefaultTableModel(boolean editable){
       super();
       this.editable = editable;
       this.setColumnIdentifiers(new Object[]{"DNI Cliente", "Identificador", "Entregado", "Fecha", "Descripcion"});
    }
    public PeticionesDefaultTableModel(boolean editable, Peticion[] peticiones){
        super();
        this.editable = editable;
        this.setColumnIdentifiers(new Object[]{"DNI Cliente", "Identificador", "Entregado", "Fecha", "Descripcion"});
        if (peticiones != null){
            for (Peticion temp : peticiones){
                if (temp != null){
                añadirFila(temp);
                }
            }
        } else {
            this.setColumnIdentifiers(new Object[]{"Error de permisos"});
            this.addRow(new Object[]{"No tienes permisos para ver los servicios."});
        }
        
    }
    public final void añadirFila(Peticion temp){
        this.addRow(new Object[]{temp.getCliente().getDni(), temp.getIdPeticion(), (BDTareas.existe(temp.getIdPeticion())?"Sí":"No"),ConversorFecha.formateadorFecha(temp.getFecha()), temp.getDescripcion()});
    }
    @Override
    public boolean isCellEditable(int i, int i1) {
        if (editable){
            return super.isCellEditable(i, i1);
        }else {
            return false;
        }
    }
    public Class getColumnClass(int columnIndex) {
if (columnIndex == 0) {
return String.class;
}
if (columnIndex == 1) {
return Long.class;
}
if (columnIndex == 2){
return GregorianCalendar.class;
}
return String.class;
}
}

